home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / latex209 / contrib / pslatex / lfonts.psl < prev    next >
Text File  |  1992-05-25  |  36KB  |  952 lines

  1. %%%========================================================================
  2. %%% @LaTeX-file{
  3. %%%    author              = "Mario Wolczko",
  4. %%%    version             = "2",
  5. %%%    date                = "21 May 1992",
  6. %%%    time                = "21:15:10 BST",
  7. %%%    filename            = "lfonts.psl",
  8. %%%    address             = "Dept of Computer Science
  9. %%%                           The University of Manchester
  10. %%%                           Oxford Road
  11. %%%                           Manchester M13 9PL
  12. %%%                           UK",
  13. %%%    telephone           = "+44-61-275-6146",
  14. %%%    FAX                 = "+44-61-275-6236",
  15. %%%    checksum            = "54864 951 2493 36485",
  16. %%%    email               = "mario@cs.man.ac.uk (Internet)",
  17. %%%    codetable           = "ISO/ASCII",
  18. %%%    keywords            = "LaTeX, PostScript, PS-LaTeX",
  19. %%%    supported           = "yes",
  20. %%%    docstring           = "Part of PS-LaTeX",
  21. %%% }
  22. %%%========================================================================
  23. % Modified by Mario Wolczko for use with PS-LaTeX
  24. %
  25. % Last edited: Thu May 21 21:15:13 1992 by mario (Mario Wolczko) on madarch
  26. %
  27. % Report bugs in this file to:
  28. %  Mario Wolczko
  29. %  Dept of Computer Science, The University, Oxford Rd, Manchester M13 9PL, UK
  30. %  mario@cs.man.ac.uk.
  31.  
  32. %%
  33. %% Copyright (C) 1989,1990,1991 by Frank Mittelbach, Rainer Schoepf.
  34. %% All rights reserved.
  35. %%
  36. %% This file is part of the NFSS (New Font Selection Scheme) package.
  37. %%
  38. %% IMPORTANT NOTICE:
  39. %%
  40. %% You are not allowed to change this file. You may however copy this file
  41. %% to a file with a different name and then change the copy if you obey
  42. %% the restrictions on file changes described in readme.mz.
  43. %%
  44. %% You are allowed to distribute this file under the condition that it is
  45. %% distributed together with all files mentioned in readme.mz3. If you
  46. %% receive only some of these files from someone, complain!
  47. %%
  48. %% You are NOT ALLOWED to distribute this file alone. You are NOT ALLOWED
  49. %% to take money for the distribution or use of either this file or a
  50. %% changed version, except for a nominal charge for copying etc.
  51. %%
  52. %% For error reports in case of UNCHANGED versions see readme files.
  53. %%
  54. %% Please do not request updates from us directly. Distribution is done
  55. %% through Mail-Servers and TeX organizations.
  56. %%
  57. \def\fileversion{v1.3a}
  58. \def\filedate{91/11/27}
  59. \def\docdate {90/01/28}
  60.  
  61. %% \CheckSum{532}
  62. %% \CharacterTable
  63. %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  64. %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  65. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  66. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  67. %%   Dollar        \$     Percent       \%     Ampersand     \&
  68. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  69. %%   Asterisk      \*     Plus          \+     Comma         \,
  70. %%   Minus         \-     Point         \.     Solidus       \/
  71. %%   Colon         \:     Semicolon     \;     Less than     \<
  72. %%   Equals        \=     Greater than  \>     Question mark \?
  73. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  74. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  75. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  76. %%   Right brace   \}     Tilde         \~}
  77. \immediate\write\sixt@@n{File: `fam'
  78.  \space\space\space\space\space\space\space\space
  79.  \space       \fileversion \space <\filedate>  (FMi and RmS)}
  80. \immediate\write\sixt@@n{English Documentation
  81.  \space\space\space\space\space    <\docdate>  (FMi and RmS)}
  82. \def\@spaces{\space\space\space\space}
  83. \def\@gobble#1{}
  84. \def\@empty{}
  85. \def\@height{height}
  86. \def\@depth{depth}
  87. \def\@width{width}
  88. \def\@nomath#1{\relax\ifmmode \font@warning{Don't use \string#1 in
  89.                                            math mode}\fi}
  90. \def\no@alphabet@error#1#2{\relax \ifmmode
  91.     \errhelp\no@alphabet@help
  92.     \errmessage{Math alphabet identifier \string#2 is undefined
  93.                 in math version `#1'.} \fi}
  94. \newhelp\no@alphabet@help
  95.    {Your requested math alphabet is undefined in the current
  96.     math version.^^JCheck the spelling or use the
  97.     \string\addtoversion\space command.}
  98. \def\new@mathgroup{\alloc@8\mathgroup\chardef\sixt@@n}
  99. \let\mathgroup\fam
  100. \let\newfam\new@mathgroup
  101. \def\new@fontshape#1#2#3#4#5{\expandafter
  102.      \edef\csname#1/#2/#3\endcsname{\expandafter\noexpand
  103.                                  \csname #4\endcsname}}
  104. \def\subst@fontshape#1#2#3#4#5#6{\expandafter
  105.      \def\csname#1/#2/#3\endcsname{%
  106.        \font@warning{Font/shape `#1/#2/#3' not available}%
  107.        \font@warning{Substituting `#4/#5/#6' instead}%
  108.        \global\expandafter\let
  109.          \csname#1/#2/#3\expandafter\endcsname
  110.          \csname#4/#5/#6\endcsname}}
  111. \def\extra@def#1#2#3{%
  112.      \def\@tempa##1{#2}%
  113.      \ifx \@tempa\@gobble
  114.        \expandafter\let\csname +#1\endcsname\@gobble
  115.      \else \expandafter\def\csname +#1\endcsname##1{#2}\fi
  116.         \expandafter\def\csname =#1\endcsname{\default@mextra#3}%
  117. }
  118. \let\default@mextra\@empty
  119. \def\preload@sizes#1#2#3#4{{
  120.     \def\next##1,{%
  121.         \if>##1>%
  122.           \let\next\relax
  123.         \else
  124.           \xdef\font@name{\csname#1/#2/#3/##1\endcsname}%
  125.           \pickup@font
  126.           \global\expandafter\let\font@name\relax
  127.         \fi
  128.         \next}%
  129.      \next#4,,}}
  130. \newif\ifdefine@mathfonts \define@mathfontstrue
  131. \def\define@mathsizes#1#2#3{\expandafter \def
  132.     \csname S@#1\endcsname{\gdef\sf@size{#2}\gdef\ssf@size{#3}%
  133.                            \define@mathfontstrue}}
  134. \def\define@nomathsize#1{\expandafter \let
  135.     \csname S@#1\endcsname \define@mathfontsfalse}
  136. \def\fontfamily#1{\edef\f@family{#1}}
  137. \def\fontseries#1{\edef\f@series{#1}}
  138. \def\fontshape#1{\edef\f@shape{#1}}
  139. \let\family=\fontfamily
  140. \let\series=\fontseries
  141. \let\shape=\fontshape
  142. \def\fontsize#1#2{%
  143.     \edef\f@size{#1}%
  144.     \edef\setnew@baselineskip{\baselineskip #2\relax}%
  145.     \edef\lcl@currsize{#1#2}}
  146. \let\size=\fontsize
  147. \def\mathversion#1{\@nomath\mathversion
  148.           \expandafter\ifx\csname mv@#1\endcsname\relax
  149.           \font@warning{The requested version `#1' is unknown}\else
  150.           \edef\math@version{#1}\glb@settings\aftergroup\glb@settings
  151.           \fi}
  152. \def\pickup@font{%
  153.     \expandafter \ifx \font@name \relax
  154.        \define@newfont
  155.     \fi}
  156. {\catcode`\/=12
  157. \gdef\split@name#1/#2/#3/#4\@nil{\def\f@family{#1}%
  158.                                     \def\f@series{#2}%
  159.                                     \def\f@shape{#3}%
  160.                                     \def\f@size{#4}}}
  161. \def\define@newfont{%
  162.   \begingroup
  163.     \escapechar\m@ne
  164.     \expandafter\expandafter\expandafter
  165.        \split@name\expandafter\string\font@name\@nil
  166.     \expandafter\ifx
  167.         \csname\f@family/\f@series/\f@shape\endcsname \relax
  168.       \wrong@fontshape\else
  169.       \csname\f@family/\f@series/\f@shape\endcsname
  170.       \extract@font\fi
  171.   \endgroup}
  172. \def\wrong@fontshape{%
  173.     \edef\@tempa{\csname\f@family/\f@series/\f@shape\endcsname}%
  174.     \font@warning{Font/shape `\@tempa' undefined}%
  175.     \let\f@shape\default@shape
  176.     \expandafter\ifx\csname\f@family/\f@series/\f@shape\endcsname\relax
  177.        \let\f@series\default@series
  178.         \expandafter
  179.           \ifx\csname\f@family/\f@series/\f@shape\endcsname\relax
  180.            \let\f@family\default@family
  181.         \fi \fi
  182.     \font@warning{Using `\f@family/\f@series/\f@shape' instead}%
  183.     \global\expandafter\expandafter\expandafter\let\expandafter\@tempa
  184.            \csname\f@family/\f@series/\f@shape\endcsname
  185.     \xdef\font@name{%
  186.       \csname\f@family/\f@series/\f@shape/\f@size\endcsname}%
  187.     \pickup@font}
  188. \def\strip@prefix#1>{}
  189. \newhelp\nofont@help
  190.         {You requested a family/series/shape/size combination that is
  191.          totally^^Junknown. \space
  192.          There are two cases in which this error can occur:^^J\space
  193.          \space 1) You used the \string\fontsize\space macro to select
  194.                    a size that is not available.^^J\space
  195.          \space 2) If you did not do that, go to your local `wizard'
  196.                    and^^J \@spaces complain fiercely that the font
  197.                    selection tables are corrupted!^^J}
  198. \def\addstuffto@version#1#2{%
  199.     \ifx#1\undefined
  200.            \toks@{}%
  201.          \else
  202.            \toks@\expandafter{#1}%
  203.          \fi
  204.     \xdef#1{%
  205.             \the\toks@
  206.              #2}%
  207.     \gdef\glb@currsize{}}
  208. \def\define@mathalphabet#1#2#3#4#5#6{%
  209.     \def\@tempa{#6}%
  210.     \addstuffto@version#1{%
  211.              \gdef\noexpand#2%
  212.              \ifx\@tempa\@empty
  213.                 {\noexpand\no@alphabet@error
  214.                  \noexpand\math@version
  215.                  \noexpand#2}%
  216.              \else
  217.                 {\noexpand\select@group
  218.                  \noexpand#2#3%
  219.                  \expandafter\noexpand\csname =#4\endcsname
  220.                  \expandafter\noexpand\csname #4/#5/#6\endcsname}%
  221.              \fi}}
  222. \def\define@mathgroup#1#2#3#4#5{%
  223.          \addstuffto@version#1{%
  224.              \noexpand\getanddefine@fonts#2%
  225.              \expandafter\noexpand\csname #3/#4/#5\endcsname}}
  226. \def\select@group#1#2#3#4{\relax\ifmmode
  227.   \begingroup
  228.     \let\math@fonts\@empty  \escapechar\m@ne
  229.     \getanddefine@fonts#2#4%
  230.     \globaldefs\@ne  \math@fonts
  231.   \endgroup
  232.   \gdef#1{\use@mathgroup#3{#2}}%
  233. \expandafter #1\fi}
  234. \let\math@bgroup\begingroup
  235. \def\math@egroup#1{#1\endgroup}
  236. \def\glb@settings{\begingroup
  237.     \let\math@fonts\@empty
  238.     \ifmath@fonts
  239.      \csname S@\f@size\endcsname
  240.       \ifdefine@mathfonts
  241.         \escapechar\m@ne
  242.         \csname mv@\math@version \endcsname \fi
  243.     \fi
  244.     \globaldefs\@ne
  245.     \math@fonts
  246.     \let \glb@currsize \lcl@currsize
  247.   \endgroup}
  248. \newif\ifmath@fonts
  249. \math@fontstrue
  250. \def\default@fontshape{\fontfamily\default@family
  251.   \fontseries\default@series\fontshape\default@shape}
  252. \def\showhyphens#1{\setbox0\vbox{\parfillskip\z@skip\hsize\maxdimen
  253.   \default@fontshape\selectfont
  254.   \pretolerance\m@ne\tolerance\m@ne\hbadness\z@\showboxdepth\z@\ #1}}
  255. \def\addto@hook#1#2{#1\expandafter{\the#1#2}}
  256. \ifx\inputlineno\undefined
  257.   \let\on@line\@empty
  258. \else
  259.   \ifnum\inputlineno=\m@ne
  260.     \let\on@line\@empty
  261.   \else
  262.     \def\on@line{ on input line \the\inputlineno}
  263.   \fi
  264. \fi
  265.  
  266. \def\fileversion{v1.0r}
  267. \def\filedate{90/08/27}
  268. \def\docdate {90/04/05}
  269.  
  270. %% \CheckSum{336}
  271. %% \CharacterTable
  272. %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  273. %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  274. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  275. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  276. %%   Dollar        \$     Percent       \%     Ampersand     \&
  277. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  278. %%   Asterisk      \*     Plus          \+     Comma         \,
  279. %%   Minus         \-     Point         \.     Solidus       \/
  280. %%   Colon         \:     Semicolon     \;     Less than     \<
  281. %%   Equals        \=     Greater than  \>     Question mark \?
  282. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  283. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  284. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  285. %%   Right brace   \}     Tilde         \~}
  286. %%
  287.  \immediate\write\sixt@@n{File: `tracefnt' \@spaces
  288.  \fileversion\space <\filedate>  (FMi and RmS)}
  289. \immediate\write\sixt@@n{English Documentation
  290.  \@spaces\space  <\docdate>  (FMi and RmS)}
  291. \def\extract@font{%
  292.     \def\@tempa{\def\extract@fontinfo####1}%
  293.     \edef\@tempb{<\expandafter\strip@prefix\meaning\f@size>}%
  294.     \expandafter\@tempa\@tempb##2##3<##4\@nil{%
  295.       \global\expandafter\font \font@name
  296.            \ifcase0##2##3\relax\or
  297.                    ##3
  298.                     \font@warning{Font/shape
  299.                               `\f@family/\f@series/\f@shape'
  300.                               in size \@tempb\space  not available}%
  301.                     \font@warning{Using external font `##3'
  302.                                     instead}\else
  303.                   \default@errfont \errhelp\nofont@help
  304.                          \errmessage{Font \expandafter
  305.                                     \string\font@name\space
  306.                                     not found}%
  307.                \fi
  308.               }%
  309.     \edef\font@info{\expandafter\expandafter\expandafter\string
  310.         \csname \f@family/\f@series/\f@shape \endcsname\@tempb}%
  311.     \expandafter\extract@fontinfo\font@info 3<\@nil
  312.     \csname +\f@family \expandafter
  313.        \endcsname \font@name \relax}
  314.  
  315. \def\selectfont{%
  316.     \xdef\font@name{%
  317.       \csname\f@family/\f@series/\f@shape/\f@size\endcsname}%
  318.     \pickup@font
  319.     \font@name
  320.     \ifx \glb@currsize \lcl@currsize
  321.      \else
  322.     \setnew@baselineskip
  323.     \baselineskip\baselinestretch\baselineskip
  324.     \setbox\strutbox\hbox{\vrule\@height.7\baselineskip
  325.         \@depth.3\baselineskip \@width\z@}%
  326.     \normalbaselineskip\baselineskip
  327.      \glb@settings \the\every@size
  328.        \aftergroup\glb@settings \fi
  329.     }
  330. \def\baselinestretch{1}
  331. \newtoks\every@size
  332. \every@size={}
  333. \def\use@mathgroup#1#2{\relax\ifmmode
  334.      \math@bgroup
  335.          #1\mathgroup#2\relax
  336.      \expandafter\math@egroup\fi}%
  337. \def\getanddefine@fonts#1#2{%
  338.   \xdef\font@name{\csname \string#2/\f@size\endcsname}%
  339.   \pickup@font \let\textfont@name\font@name
  340.   \xdef\font@name{\csname \string#2/\sf@size\endcsname}%
  341.   \pickup@font \let\scriptfont@name\font@name
  342.   \xdef\font@name{\csname \string#2/\ssf@size\endcsname}%
  343.   \pickup@font
  344.   \edef\math@fonts{\math@fonts
  345.                \textfont#1\textfont@name
  346.                \scriptfont#1\scriptfont@name
  347.                \scriptscriptfont#1\font@name}%
  348.     }
  349. \def\tracingfonts{\font@warning{\string\tracingfonts\space
  350.                   command not provided.^^J
  351.                   Use `tracefnt' option in \string\documentstyle\space
  352.                   command.^^J Command found:}%
  353.                   \count@}
  354. \def\font@warning#1{%
  355.           \immediate\write\sixt@@n{Warning: #1\on@line.}%
  356.           }
  357.  
  358. \def\fileversion{v1.1c}
  359. \def\filedate{90/06/06}
  360. \def\docdate {90/06/06}
  361.  
  362. %% \CheckSum{57}
  363. %% \CharacterTable
  364. %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  365. %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  366. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  367. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  368. %%   Dollar        \$     Percent       \%     Ampersand     \&
  369. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  370. %%   Asterisk      \*     Plus          \+     Comma         \,
  371. %%   Minus         \-     Point         \.     Solidus       \/
  372. %%   Colon         \:     Semicolon     \;     Less than     \<
  373. %%   Equals        \=     Greater than  \>     Question mark \?
  374. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  375. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  376. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  377. %%   Right brace   \}     Tilde         \~}
  378. %% File `setsize.doc'.
  379. %% Copyright (C) 1989,1990,1991 Frank Mittelbach and Rainer Sch\"opf,
  380. %% all rights reserved.
  381. \immediate\write\sixt@@n{File: `setsize' \space
  382.  \@spaces \fileversion \space <\filedate> (FMi and RmS)}
  383. \immediate\write\sixt@@n{English Documentation
  384.       \space \@spaces <\docdate> (FMi and RmS)}
  385.  \def\normalsize{\@normalsize}
  386.  \def\@vpt{5}
  387.  \def\@vipt{6}
  388.  \def\@viipt{7}
  389.  \def\@viiipt{8}
  390.  \def\@ixpt{9}
  391.  \def\@xpt{10}
  392.  \def\@xipt{11}
  393.  \def\@xiipt{12}
  394.  \def\@xivpt{14}
  395.  \def\@xviipt{17}
  396.  \def\@xxpt{20}
  397.  \def\@xxvpt{25}
  398.  \define@mathsizes{5}{5}{5}
  399.  \define@mathsizes{6}{5}{5}
  400.  \define@mathsizes{7}{6}{5}
  401.  \define@mathsizes{8}{6}{5}
  402.  \define@mathsizes{9}{6}{5}
  403.  \define@mathsizes{10}{7}{5}
  404.  \define@mathsizes{11}{7}{5}
  405.  \define@mathsizes{12}{8}{6}
  406. \define@mathsizes{14}{10}{7}
  407. \define@mathsizes{17}{12}{10}
  408. \define@mathsizes{20}{14}{12}
  409.  \define@mathsizes{25}{20}{17}
  410. \def\fileversion{v1.1h}
  411. \def\filedate{90/06/26}
  412. \def\docdate {90/06/26}
  413.  
  414. %% \CheckSum{304}
  415. %% \CharacterTable
  416. %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  417. %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  418. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  419. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  420. %%   Dollar        \$     Percent       \%     Ampersand     \&
  421. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  422. %%   Asterisk      \*     Plus          \+     Comma         \,
  423. %%   Minus         \-     Point         \.     Solidus       \/
  424. %%   Colon         \:     Semicolon     \;     Less than     \<
  425. %%   Equals        \=     Greater than  \>     Question mark \?
  426. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  427. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  428. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  429. %%   Right brace   \}     Tilde         \~}
  430. %% \changes{v1.1f}{90/04/05}{`endinput at the end removed.}
  431. \immediate\write\sixt@@n{File: `latint' \space\space
  432.  \@spaces\fileversion\space <\filedate>  (FMi and RmS)}
  433. \immediate\write\sixt@@n{English Documentation
  434.  \@spaces\space <\docdate>  (FMi and RmS)}
  435. \newif\if@tempswa
  436. \def\in@#1#2{%
  437.  \def\in@@##1#1##2##3\in@@{%
  438.   \ifx\in@##2\in@false\else\in@true\fi}%
  439.  \in@@#2#1\in@\in@@}
  440. \newif\ifin@
  441. \let\version@list=\@empty
  442. \def\@gobblefour#1#2#3#4{}
  443. \def\new@mathversion#1{%
  444. %% \changes{v1.1c}{89/11/27}{`versionlist enclosed in braces.}
  445.   \expandafter\in@\expandafter#1\expandafter{\version@list}%
  446.   \ifin@
  447.     \@latexerr{Math version
  448.                `\expandafter\@gobblefour\string#1'
  449.                already defined}\@eha
  450.   \else
  451.      \def\@tempa{\noexpand\@tempa\noexpand}%
  452.      \edef\version@list{\version@list\@tempa#1}%
  453.      \def\@tempc{\noexpand\@tempc\noexpand}%
  454.      \let\@tempe\relax
  455.      \def\@tempb##1##2##3{%
  456.           \edef##1{\expandafter\remove@nil##1%
  457.                    \@tempc
  458.                    #1%
  459.                    \@tempe
  460.                    \noexpand\@nil}}%
  461.      \alpha@list
  462.   \fi}
  463. \def\remove@nil#1#2\@nil{%
  464.   \noexpand#1\noexpand#2}
  465. \def\newmathalphabet{%
  466.   \@ifstar{\newmathalphabet@@@}%
  467.           {\newmathalphabet@@}}
  468. \def\newmathalphabet@@#1{%
  469.   \newmathalphabet@@@#1{}{}{}}
  470. \def\newmathalphabet@@@#1#2#3#4{%
  471.  \edef\group@number{\expandafter
  472.   \noexpand\csname\expandafter\@gobble
  473.   \string #1@group\endcsname}%
  474.    \expandafter\ifx\group@number\relax
  475.      \@tempswafalse
  476.      \ifx\undefined#1\else\@tempswatrue\fi
  477.    \else
  478.      \@tempswatrue
  479.    \fi
  480.    \if@tempswa
  481.      \@latexerr{Math alphabet
  482.                 `\string#1' already defined}\@eha
  483.    \else
  484.    \expandafter\new@mathgroup\group@number
  485.    \new@internalmathalphabet{#1}%
  486.       {\group@number}{#2}{#3}{#4}%
  487.   \fi}
  488. \let\alpha@list\@empty
  489. %% \changes{v1.1h}{90/06/26}{Macro added.}
  490. \let\used@alpha@list\@empty
  491. \def\new@internalmathalphabet#1#2#3#4#5{%
  492.     \def\@tempb{\noexpand\@tempb\noexpand}%
  493.     \edef\alpha@list{\alpha@list\@tempb#1%
  494.                               {#2}%
  495.                               {{#3}{#4}{#5}}}%
  496.     \let\@tempe\relax
  497.     \let\@tempc\relax
  498.     \def\@tempa##1{\@tempc
  499.                    \noexpand##1%
  500.                    \@tempe}%
  501.     \edef#1{\noexpand\set@alpha
  502.             \noexpand#1%
  503.             \version@list
  504.             \noexpand\@nil}%
  505. }
  506. \def\addtoversion#1{%
  507.   \expandafter\addtoversion@
  508.     \csname mv@#1\endcsname}
  509. \def\addtoversion@#1#2#3#4#5{%
  510. %% \changes{v1.1c}{89/11/27}{`versionlist and `alphalist enclosed
  511. %%          in braces.}
  512.   \expandafter\in@\expandafter#1\expandafter{\version@list}%
  513.   \ifin@
  514.     \expandafter\in@\expandafter#2\expandafter{\alpha@list}%
  515.     \ifin@
  516.       \def\next##1#1##2##3\@nil{%
  517.         \ifx##2\@tempe
  518.           \def#2{##1#1{{#3}{#4}{#5}}##3\@nil}%
  519.         \else
  520.           \@latexerr{%
  521.              Math alphabet identifier `\string#2' already
  522.              defined for math version `\expandafter
  523.              \@gobblefour\string#1'}%
  524.              {Maybe you typed the same command twice?}%
  525.         \fi}%
  526.      \expandafter\next#2%
  527. %% \changes{v1.1h}{90/06/26}{Extra check and error message for
  528. %%                           already used math alphabet identifiers.}
  529.     \else
  530.       \expandafter\in@\expandafter#2\expandafter{\used@alpha@list}%
  531.       \ifin@
  532.         \@latexerr{%
  533.            Math alphabet identifier `\string#2' already used
  534.            to produce text}%
  535.            {A math alphabet identifier can only be added to a
  536.             math version^^Jbefore its first use in math.^^J%
  537.             Remedy: Move this \string\addtoversion
  538.             \space declaration up.}%
  539.       \else
  540.         \@latexerr{%
  541.            Math alphabet identifier `\string#2' not defined}%
  542.            {Use \string\newmathalphabet\space to define it.}%
  543.       \fi
  544.     \fi
  545.   \else
  546.     \@latexerr{%
  547.        Math version `\expandafter\@gobblefour\string#1' is not
  548.        defined}{You probably mispelled the name of the math
  549.        version.^^JOr you have to specify another document
  550.        style option^^Jin the \string\documentstyle\space
  551.        command.}%
  552.   \fi
  553. }
  554. \def\process@table{%
  555.     \def\@tempc{\noexpand\@tempc\noexpand}%
  556.     \def\@tempb##1##2##3{\def\@tempe{{##3}}%
  557.                          \edef##1{##1}}%
  558.     \let\set@alpha\@gobble
  559.     \let\@nil\@empty
  560.     \alpha@list
  561. %% \changes{v1.1f}{90/01/18}{Changed to set math all alphabet
  562. %%           identifiers to `relax.}
  563.     \def\@tempb##1##2##3{%
  564.       \def\@tempc####1####2{%
  565.         \define@mathalphabet####1##1##2####2}%
  566.       ##1%
  567.       \let ##1\relax}%
  568. %% \changes{v1.1h}{90/06/26}{Added clearing of `used@alpha@list.}
  569.     \alpha@list
  570.     \let\used@alpha@list\@empty}
  571. %% \changes{v1.1e}{89/12/16}{Completely revised.}
  572. \def\set@alpha#1#2\@nil{%
  573.    \relax\ifmmode
  574. %% \changes{v1.1h}{90/06/26}{Added updating of `used@alpha@list.}
  575.    \expandafter\gdef\expandafter\used@alpha@list\expandafter
  576.      {\used@alpha@list#1}%
  577.    \def\next##1\@tempb#1##2##3##4\@nil{%
  578.        \def\@tempd{##2}%
  579.        \def\@tempe{{##3}}%
  580.        \gdef\alpha@list{##1##4}}%
  581.    \expandafter\next\alpha@list\@nil
  582.    \begingroup
  583.     \def\@tempc{\noexpand\@tempc\noexpand}%
  584.     \let\set@alpha\@gobble
  585.     \let\@nil\@empty
  586.     \xdef#1{#1}%
  587.    \endgroup
  588.    \def\@tempc##1##2{%
  589.           \define@mathalphabet##1#1\@tempd##2}%
  590. %% \changes{v1.1e}{89/12/16}{Argument \#1 called twice in the end.}
  591.    #1%
  592.    \glb@settings
  593.    \expandafter #1\fi}
  594. \def\fileversion{v1.2a}
  595. \def\filedate{91/11/27}
  596. \def\docdate {91/11/27}
  597.  
  598. %% \CheckSum{840}
  599. %% \CharacterTable
  600. %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  601. %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  602. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  603. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  604. %%   Dollar        \$     Percent       \%     Ampersand     \&
  605. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  606. %%   Asterisk      \*     Plus          \+     Comma         \,
  607. %%   Minus         \-     Point         \.     Solidus       \/
  608. %%   Colon         \:     Semicolon     \;     Less than     \<
  609. %%   Equals        \=     Greater than  \>     Question mark \?
  610. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  611. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  612. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  613. %%   Right brace   \}     Tilde         \~}
  614. %% File `lfonts.doc'.
  615. %% Copyright (C) 1989,1990,1991 Frank Mittelbach and Rainer Sch\"opf,
  616. %% all rights reserved.
  617. %% \changes{v1.2a}{91/11/27}{All `family, `shape etc. renamed to
  618. %%                          `fontfamily etc.}
  619. %% \changes{v1.1i}{90/04/02}{`input of files now handled by docstrip.}
  620. %% \changes{v1.1g}{90/02/08}{Protected the commands `family, `series,
  621. %% \changes{v1.1c}{89/12/03}{Some internal macros renamed to make them
  622. %%           inaccessible.}
  623. %% \changes{v1.1b}{89/12/02}{`rmmath renamed to `mathrm}
  624. %% \changes{v1.0i}{89/11/07}{All family, series, and shape names
  625. %% \changes{v1.0g}{89/05/22}{Lines shortened to 72 characters}
  626. %% \changes{v1.0f}{89/04/29}{Corrections to \LaTeX tabular env. added.}
  627. %% \changes{v1.0e}{89/04/27}{Definitions of \LaTeX symbols corrected.}
  628. %% \changes{v1.0d}{89/04/26}{`xpt added.}
  629. %% \changes{v1.0c}{89/04/21}{Changed to conform to fam.tex.}
  630. %% \changes{v1.0b}{89/04/15}{`mathfontset renamed to `mathversion.}
  631. %% \changes{v1.0a}{89/04/10}{Starting with version numbers!
  632. %%           `newif for `@tempswa added since this switch is
  633. %%           unkown at the time when this file is read in.
  634. %%           (latex.tex is loaded later.)
  635. %%           `math@famname changed to `math@version.}
  636. \immediate\write\sixt@@n{File: `lfonts' \space\space
  637.  \@spaces\fileversion\space <\filedate> (FMi and RmS)}
  638. \immediate\write\sixt@@n{English Documentation
  639.              \@spaces\space  <\docdate> (FMi and RmS)}
  640. \input fontdef.tex
  641. \input preload.tex
  642. %% \changes{v1.1g}{90/02/08}{Macro added.}
  643. \let\p@fontfamily=\fontfamily
  644. \def\fontfamily{\protect\p@fontfamily}
  645. \let\family=\fontfamily
  646. %% \changes{v1.1g}{90/02/08}{Macro added.}
  647. \let\p@fontseries=\fontseries
  648. \def\fontseries{\protect\p@fontseries}
  649. \let\series=\fontseries
  650. %% \changes{v1.1g}{90/02/08}{Macro added.}
  651. \let\p@fontshape=\fontshape
  652. \def\fontshape{\protect\p@fontshape}
  653. \let\shape=\fontshape
  654. %% \changes{v1.1g}{90/02/08}{Macro added.}
  655. \let\p@fontsize=\fontsize
  656. \def\fontsize{\protect\p@fontsize}
  657. \let\size=\fontsize
  658. %% \changes{v1.1g}{90/02/08}{Macro added.}
  659. \let\p@selectfont=\selectfont
  660. \def\selectfont{\protect\p@selectfont}
  661. %% \changes{v1.1g}{90/02/08}{Macro added.}
  662. \let\p@mathversion=\mathversion
  663. \def\mathversion{\protect\p@mathversion}
  664. \new@mathversion\mv@normal
  665. %\new@mathversion\mv@bold % miw -- no bold math in PS fonts
  666. %% \changes{v1.0k}{89/11/08}{Changed first argument according to
  667. %% \changes{v1.0l}{89/11/14}{Changes in naming of math  and \LaTeX{}
  668. \define@mathgroup\mv@normal{0}
  669.                  {times}{m}{n}
  670. \define@mathgroup\mv@normal{1}
  671.                  {times}{m}{it}
  672. \define@mathgroup\mv@normal{2}
  673.                  {sy}{m}{n}
  674. % 3 and 4 are cmex and lasy
  675. \new@mathgroup\cmsy@group
  676. \new@mathgroup\cmm@group
  677. \new@mathgroup\sy@group
  678. \define@mathgroup\mv@normal\cmsy@group{cmsy}{m}{n}
  679. \define@mathgroup\mv@normal\cmm@group{cmm}{m}{it}
  680. \define@mathgroup\mv@normal\sy@group{sy}{m}{sl}
  681.  
  682. % miw - no bold
  683. %\define@mathgroup\mv@bold{0}
  684. %                 {cmr}{bx}{n}
  685. %\define@mathgroup\mv@bold{1}
  686. %                 {cmm}{b}{it}
  687. %\define@mathgroup\mv@bold{2}
  688. %                 {cmsy}{b}{n}
  689.  
  690. \textfont 3 = \csname cmex/m/n/10\endcsname
  691. \scriptfont 3 = \csname cmex/m/n/10\endcsname
  692. \scriptscriptfont 3 = \csname cmex/m/n/10\endcsname
  693. \expandafter\let\expandafter\tenex \the\textfont 3
  694. %% \changes{v1.1e}{90/01/21}{Use new interface: `use@mathgroup.}
  695. %% \changes{v1.1e}{90/01/21}{Use new interface: `use@mathgroup.}
  696. %% \changes{v1.1e}{90/01/21}{Use new interface: `use@mathgroup.}
  697. %% \changes{v1.1b}{89/11/28}{`rmmath $\to$ `mathrm.}
  698. {\catcode`\= 11
  699. \gdef\mathrm{\use@mathgroup \=times \z@\@fixf}% miw
  700. \gdef\mit{\use@mathgroup \=times \@ne}% miw
  701. \gdef\cal{\use@mathgroup \=cmsy \cmsy@}% miw
  702. }
  703. \def\rm{\protect\prm}
  704. \def\sf{\protect\psf}
  705. \def\tt{\protect\ptt}
  706. \def\bf{\protect\pbf}
  707. \def\sl{\protect\psl}
  708. \def\sc{\protect\psc}
  709. \def\it{\protect\pit}
  710. %% \changes{v1.1f}{90/01/28}{Macro added.}
  711. %% \changes{v1.1f}{90/01/28}{Macro added.}
  712. %% \changes{v1.1f}{90/01/28}{Macro added.}
  713. %% \changes{v1.1f}{90/01/28}{Macro added.}
  714. %% \changes{v1.1f}{90/01/28}{Macro added.}
  715. %% \changes{v1.1f}{90/01/28}{Macro added.}
  716. %% \changes{v1.1f}{90/01/28}{Macro added.}
  717. %% \changes{v1.1h}{90/02/17}{Macro added.}
  718. %% \changes{v1.1h}{90/02/17}{Macro added.}
  719.  
  720. %\def\rmdefault{cmr}
  721. %\def\sfdefault{cmss}
  722. %\def\ttdefault{cmtt}
  723. \def\bfdefault{b}% miw
  724. \def\itdefault{it}
  725. \def\sldefault{sl}
  726. \def\scdefault{sc}
  727. \def\mediumseriesdefault{m}
  728. \def\normalshapedefault{n}
  729. %% \changes{v1.1e}{90/01/21}{Renamed to `mediumseries.}
  730. %% \changes{v1.0h}{89/08/15}{Introduced `normalshape and
  731. %% \changes{v1.1h}{90/02/17}{Now user default used.}
  732. \def\mediumseries{\protect\pmediumseries}
  733. \def\pmediumseries{\fontseries\mediumseriesdefault\selectfont}
  734. \def\normalshape{\protect\pnormalshape}
  735. \def\pnormalshape{\fontshape\normalshapedefault\selectfont}
  736. \def\boldmath{\@nomath\boldmath
  737.               \mathversion{bold}}
  738. \def\unboldmath{\@nomath\unboldmath
  739.                 \mathversion{normal}}
  740. \def\math@version{normal}
  741. \def\hexnumber@#1{\ifcase#1 \z@
  742.  \or \@ne \or \tw@ \or \thr@@
  743.  \or 4\or 5\or 6\or 7\or 8\or
  744.  9\or A\or B\or C\or D\or E\or F\fi}
  745. %% \changes{v1.1e}{90/01/25}{Macro added for math operators.}
  746. \def\operator@font{\mathgroup\z@}
  747. %% \changes{v1.1e}{90/01/25}{All math operators added and changed.}
  748. \def\log{\mathop{\operator@font log}\nolimits}
  749. \def\lg{\mathop{\operator@font lg}\nolimits}
  750. \def\ln{\mathop{\operator@font ln}\nolimits}
  751. \def\lim{\mathop{\operator@font lim}}
  752. \def\limsup{\mathop{\operator@font lim\,sup}}
  753. \def\liminf{\mathop{\operator@font lim\,inf}}
  754. \def\sin{\mathop{\operator@font sin}\nolimits}
  755. \def\arcsin{\mathop{\operator@font arcsin}\nolimits}
  756. \def\sinh{\mathop{\operator@font sinh}\nolimits}
  757. \def\cos{\mathop{\operator@font cos}\nolimits}
  758. \def\arccos{\mathop{\operator@font arccos}\nolimits}
  759. \def\cosh{\mathop{\operator@font cosh}\nolimits}
  760. \def\tan{\mathop{\operator@font tan}\nolimits}
  761. \def\arctan{\mathop{\operator@font arctan}\nolimits}
  762. \def\tanh{\mathop{\operator@font tanh}\nolimits}
  763. \def\cot{\mathop{\operator@font cot}\nolimits}
  764. \def\coth{\mathop{\operator@font coth}\nolimits}
  765. \def\sec{\mathop{\operator@font sec}\nolimits}
  766. \def\csc{\mathop{\operator@font csc}\nolimits}
  767. \def\max{\mathop{\operator@font max}}
  768. \def\min{\mathop{\operator@font min}}
  769. \def\sup{\mathop{\operator@font sup}}
  770. \def\inf{\mathop{\operator@font inf}}
  771. \def\arg{\mathop{\operator@font arg}\nolimits}
  772. \def\ker{\mathop{\operator@font ker}\nolimits}
  773. \def\dim{\mathop{\operator@font dim}\nolimits}
  774. \def\hom{\mathop{\operator@font hom}\nolimits}
  775. \def\det{\mathop{\operator@font det}}
  776. \def\exp{\mathop{\operator@font exp}\nolimits}
  777. \def\Pr{\mathop{\operator@font Pr}}
  778. \def\gcd{\mathop{\operator@font gcd}}
  779. \def\deg{\mathop{\operator@font deg}\nolimits}
  780.  
  781. \def\bmod{\mskip-\medmuskip\mkern5mu
  782.   \mathbin{\operator@font mod}\penalty900\mkern5mu\mskip-\medmuskip}
  783. \def\pmod#1{\allowbreak\mkern18mu({\operator@font mod}\,\,#1)}
  784. %% \changes{v1.1e}{90/01/25}{Completely redefined.}
  785. \def\${\protect\pdollar}
  786. \def\pdollar{\text{\ifdim \fontdimen\@ne\font >\z@
  787.               \sl \else \normalshape \fi\char`\$}}
  788. \def\pounds{{\protect\ppounds}}
  789. \def\ppounds{\text{\ifdim \fontdimen\@ne\font >\z@
  790.     \it \else \fontshape u\selectfont \fi \char'44}}
  791. %% \changes{v1.1e}{90/01/25}{Macro added.}
  792. %% \changes{v1.1k}{90/06/23}{Changed to `mbox.}
  793. \def\text{\mbox}
  794.  
  795. \def\copyright{{\protect\pcopyright}}
  796. \def\pcopyright{\ooalign{\hfil
  797.      \raise.07ex\hbox{\mediumseries\normalshape c}\hfil\crcr
  798.      \mathhexbox20D}}
  799. \input xxxlfont.sty
  800. %%  \changes{v1.1n}{91/09/28}{Cleanup for new LaTeX version.}
  801. \newif\if@twocolumn
  802. \newif\if@filesw
  803. \newif\if@specialpage
  804. \newif \if@twoside
  805. \ifx\undefined\reset@font
  806. \errhelp{The LaTeX that you use was released before December 1, 91.^^J^^J%
  807.          At that time several changes have been introduced into
  808.          LaTeX and the standard^^Jstyles to support this version of
  809.          NFSS.^^J^^J%
  810.          NFSS will probably work with your version but you might
  811.          encounter problems^^Jin certain situations (most of them are
  812.          described in the `nfss.bug' file).^^J^^J%
  813.          Since the new LaTeX release also fix many bugs we suggest
  814.          that you upgrade^^Jas soon as possible.^^J^^J}
  815. \errmessage{Old LaTeX version! Type `h'}
  816. \def\xpt{{\def\do{\noexpand\do\noexpand}%
  817.    \xdef\@preamblecmds{\@preamblecmds
  818. %% \changes{v1.1j}{90/06/03}{Removed `xpt from `@preamblecmds}
  819. %% \changes{v1.1k}{90/06/23}{`addstuffto@version added to `preamblecmds.}
  820.               \do\addtoversion
  821.               \do\addtoversion@
  822.               \do\addstuffto@version
  823.               \do\define@mathalphabet
  824.               \do\define@mathgroup
  825.               \do\define@mathsizes
  826.               \do\define@nomathsize
  827.               \do\extra@def
  828.               \do\hexnumber@
  829.               \do\new@fontshape
  830.               \do\new@internalmathalphabet
  831.               \do\new@mathgroup
  832.               \do\new@mathversion
  833.               \do\newmathalphabet
  834.               \do\newmathalphabet@@
  835.               \do\newmathalphabet@@@
  836.               \do\preload@sizes
  837.               \do\process@table
  838.               \do\remove@nil
  839.               \do\set@alpha
  840.               \do\subst@fontshape
  841.               }}%
  842.    \def\@tabclassz{\ifcase \@lastchclass
  843.           \@acolampacol \or \@ampacol \or
  844.           \or \or \@addamp \or
  845.           \@acolampacol \or
  846.           \@firstampfalse \@acol \fi
  847.     \edef\@preamble{\@preamble{%
  848.       \ifcase \@chnum
  849.         \hfil\ignorespaces\@sharp\unskip\hfil
  850.        \or \ignorespaces\@sharp\unskip\hfil
  851.        \or \hfil\hskip\z@
  852.           \ignorespaces\@sharp\unskip\fi}}}%
  853.   \def\@ishortstack##1{\halign{\mb@l {####}%
  854.            \unskip\mb@r\cr ##1\crcr}\egroup}%
  855.   \def\cases##1{\left\{\,\vcenter{%
  856.       \normalbaselines\m@th\ialign{%
  857.          $####\hfil$&\quad{####}\hfil\crcr
  858.          ##1\crcr}}\right.}%
  859. \def\document{\endgroup
  860.   \@colht\textheight  \@colroom\textheight \vsize\textheight
  861.    \columnwidth\textwidth \@clubpenalty\clubpenalty
  862.    \if@twocolumn \advance\columnwidth -\columnsep
  863.       \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue
  864.    \fi
  865.   \hsize\columnwidth \linewidth\hsize
  866.   \begingroup\@floatplacement\@dblfloatplacement
  867.    \makeatletter\let\@writefile\@gobbletwo
  868.    \@input{\jobname.aux}\endgroup
  869.   \if@filesw \immediate\openout\@mainaux=\jobname.aux
  870.     \immediate\write\@mainaux{\relax}\fi
  871.   \process@table
  872. %% \changes{v1.1l}{90/10/12}{Force `baselineskip initialisation.}
  873.   \let\glb@currsize\@empty
  874.   \def\do####1{\let ####1\@notprerr}%
  875.   \@preamblecmds
  876.   \let\do\noexpand
  877.   \@normalsize\everypar{}}%
  878.   \def\@begintheorem##1##2{\trivlist
  879.     \item[\hskip \labelsep{\bf ##1\ ##2}]\it}%
  880.   \def\@opargbegintheorem##1##2##3{\trivlist
  881.       \item[\hskip \labelsep{\bf ##1\ ##2\ (##3)}]\it}%
  882. %% \changes{v1.1h}{90/02/17}{`@outputpage redefined.}
  883.   \def\@outputpage{\begingroup %\catcode`\ =10
  884.      \let\-\@dischyph \let\'\@acci \let\`\@accii \let\=\@acciii
  885.     \if@specialpage
  886.      \global\@specialpagefalse
  887.           \csname ps@\@specialstyle\endcsname\fi
  888.      \if@twoside
  889.        \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot
  890.             \let\@themargin\oddsidemargin
  891.           \else \let\@thehead\@evenhead
  892.           \let\@thefoot\@evenfoot \let\@themargin\evensidemargin
  893.      \fi\fi
  894.      \shipout\vbox{%
  895.            \rm \mediumseries \normalshape
  896.            \normalsize
  897.            \baselineskip\z@ \lineskip\z@
  898.            \let\par\@@par %% 15 Sep 87
  899.            \vskip \topmargin \moveright\@themargin
  900.            \vbox{\setbox\@tempboxa
  901.                    \vbox to\headheight{\vfil \hbox to\textwidth
  902.                                        {\let\label\@gobble \let\index\@gobble
  903.                                          \@thehead}}%% 22 Feb 87
  904.                  \dp\@tempboxa\z@
  905.                  \box\@tempboxa
  906.                  \vskip \headsep
  907.                  \box\@outputbox
  908.                  \baselineskip\footskip
  909.                  \hbox to\textwidth{\let\label\@gobble
  910.                            \let\index\@gobble  %% 22 Feb 87
  911.                            \@thefoot}}}\global\@colht\textheight
  912.            \endgroup\stepcounter{page}\let\firstmark\botmark}%
  913. %% \changes{v1.1j}{90/06/03}{Redefined `xpt for letter.sty}
  914.         \def\xpt{\fontsize{10}{12pt}\selectfont}}
  915. \else
  916. \def\xpt{{\def\do{\noexpand\do\noexpand}%
  917.    \xdef\@preamblecmds{\@preamblecmds
  918.               \do\addtoversion
  919.               \do\addtoversion@
  920.               \do\addstuffto@version
  921.               \do\define@mathalphabet
  922.               \do\define@mathgroup
  923.               \do\define@mathsizes
  924.               \do\define@nomathsize
  925.               \do\extra@def
  926.               \do\hexnumber@
  927.               \do\new@fontshape
  928.               \do\new@internalmathalphabet
  929.               \do\new@mathgroup
  930.               \do\new@mathversion
  931.               \do\newmathalphabet
  932.               \do\newmathalphabet@@
  933.               \do\newmathalphabet@@@
  934.               \do\preload@sizes
  935.               \do\process@table
  936.               \do\remove@nil
  937.               \do\set@alpha
  938.               \do\subst@fontshape
  939.               }}}
  940. \fi
  941. %% \changes{v1.1n}{91/08/26}{Macro introduced.}
  942. %% \changes{v1.1o}{91/11/21}{Changed to protected version of macro.}
  943. %% \changes{v1.1o}{91/11/21}{Added extra braces for robustness.}
  944. \def\reset@font{\protect\p@reset@font}
  945. \def\p@reset@font{\fontfamily{\rmdefault}%
  946.                   \fontseries{\mediumseriesdefault}%
  947.                   \fontshape{\normalshapedefault}\selectfont}
  948.  
  949. \endinput
  950. %%
  951. %% End of file
  952.